package com.time.auth.domain.service;

import cn.dev33.satoken.stp.SaTokenInfo;
import com.time.auth.domain.entity.AuthUserBO;

/**
 * 普通用户领域层接口类
 *
 * @author: HuangQi
 * @date: Created in 9:55 2025/9/29
 * @description: 普通用户领域层接口类
 */
public interface AuthUserDomainService {

    /**
     * 注册用户
     *
     * @param authUserBO 注册用户信息
     * @return 注册结果
     */
    Boolean register(AuthUserBO authUserBO);

    /**
     * 更新用户信息
     *
     * @param authUserBO 用户信息
     * @return 更新结果
     */
    Boolean update(AuthUserBO authUserBO);

    /**
     * 获取用户信息
     *
     * @param authUserBO 需要获取的用户
     * @return 用户信息
     */
    AuthUserBO getUserInfo(AuthUserBO authUserBO);

    /**
     * 用户登录
     *
     * @param userName 用户名
     * @return 登录结果
     */
    SaTokenInfo doLogin(String userName);

    /**
     * 删除用户
     *
     * @param authUserBO 用户信息
     * @return 删除结果
     */
    Boolean delete(AuthUserBO authUserBO);
}
